﻿// <copyright file="IBoard.cs" company="Marcin Wosik">
// Copyright (c) 2010 All Right Reserved
// </copyright>
// <author>Marcin Wosik</author>
// <email>mawo11@gmail.com</email>
// <date>2010-02-25</date>
// <summary></summary>
namespace GameOfLife.Interfaces
{
    using System.Windows;
    using System.Windows.Controls;
    using GameOfLife.GameData;

    /// <summary>
    /// Interface for boards. 
    /// </summary>
    public interface IBoard
    {
        #region Properties

        /// <summary>
        /// Gets or sets game settings
        /// </summary>
        GameSettings Data
        {
            get;
            set;
        }

        #endregion Properties

        #region Methods
        /// <summary>
        /// Get element from cord 
        /// </summary>
        /// <param name="point">Instance </param>
        /// <returns>Instance of element if found or null if element not found</returns>
        IElement GetElementFromCord(Point point);

        /// <summary>
        /// Initialize element 
        /// </summary>
        /// <param name="screen">Instance of canvas element with append graphic element</param>
        void Initialize(Canvas screen);

        #endregion Methods
    }
}